package org.edu.modules.sbzc.fund.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.edu.common.base.BaseEntity;
import java.sql.Timestamp;
import org.hibernate.validator.constraints.Length;

import java.io.Serializable;
import java.util.Date;

/**
 * entity-设备资产借领表
 */
@TableName("ve_sbzc_zc_apply")
@Data
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="设备资产借领表对象", description="ve_sbzc_zc_apply")
public class VeSbzcZcApply extends BaseEntity implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableField
    @ApiModelProperty(value = "资产ID")
    private Integer assetId;

    @TableField
    @ApiModelProperty(value = "资产编码")
    private String assetCode;

    @TableField
    @ApiModelProperty(value = "资产名称")
    private String assetName;

    @TableField
    @ApiModelProperty(value = "所属部门，默认资产所属部门")
    private Integer deptOwn;

    @TableField
    @ApiModelProperty(value = "借领性质（借用1，领用2）")
    @Length(max = 2)
    private String applyFor;

    @TableField
    @ApiModelProperty(value = "借领数量")
    @Length(max = 11)
    private String applyNum;

    @TableField
    @ApiModelProperty(value = "借领人")
    @Length(max = 32)
    private String applyUserId;

    @TableField
    @ApiModelProperty(value = "借领人名称")
    @Length(max = 16)
    private String applyUserName;

    @TableField
    @ApiModelProperty(value = "批准人，默认为当前操作管理员")
    @Length(max = 32)
    private String checkUserId;

    @TableField
    @ApiModelProperty(value = "批准人名称")
    @Length(max = 16)
    private String checkUserName;

    @TableField
    @ApiModelProperty(value = "借领时间")
    @JsonFormat(timezone="GMT+8",locale="zh",  pattern="yyyy-MM-dd")
    private Date applyTime;

    @TableField
    @ApiModelProperty(value = "记录创建时间")
    @JsonFormat(timezone="GMT+8",locale="zh",  pattern="yyyy-MM-dd")
    private Date createTime;

    @TableField
    @ApiModelProperty(value = "备注")
    @Length(max = 500)
    private String remark;

    @TableField
    @ApiModelProperty(value = "是否归还 0 未归还 1 已归还")
    @Length(max = 2)
    private String isRevert;

    @TableField
    @ApiModelProperty(value = "归还时间")
    @Length(max = 2)
    @JsonFormat(timezone="GMT+8",locale="zh",  pattern="yyyy-MM-dd")
    private Date revertTime;
}
